﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace AIVOnline./*TopologyModel.*/PathModel
{
    /// <summary>
    /// 地图点位变化 -- 基本不变化
    /// </summary>
    [Table("AIVNode")]
    public class AIVNode
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Key, Column(Order = 1)]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]       // 自增字段
        public int Id { get; set; }

        /// <summary>
        /// 点位编号
        /// </summary>
        public int NodeId { get; set; }


        public String Name { get; set; } = "工作点";


        public AIVNodeType NodeType { get; set; } = AIVNodeType.Normal;
        //public virtual AIVNodeStates NodeState { get; set; }

        /// <summary>
        /// 位置坐标
        /// </summary>
        public double x { get; set; } = 1.0;
        public double y { get; set; } = 1.0;
        public double z { get; set; } = 0.0;
    }

    public enum AIVNodeType
    {
        Nono = 0,
        /// <summary>
        /// 普通工作点
        /// </summary>
        Normal = 1, 

        /// <summary>
        /// 休息点
        /// </summary>
        RestPoint =2,

        /// <summary>
        /// 充电点
        /// </summary>
        ChargingPoint = 4,

        /// <summary>
        /// 躲避点
        /// </summary>
        AvoidBlock =8,
    }

}
